package com.ruoyi.order.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 优惠卷列对象 tb_coupon
 * 
 * @author ruoyi
 * @date 2023-02-02
 */
public class TbCoupon extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 优惠卷名称 */
    @Excel(name = "优惠卷名称")
    private String couponName;

    /** 优惠卷数量 */
    @Excel(name = "优惠卷数量")
    private Long couponNum;

    /** 优惠卷金额 */
    @Excel(name = "优惠卷金额")
    private BigDecimal couponAmount;

    /** 限领张数 */
    @Excel(name = "限领张数")
    private Long couponLimit;

    /** 菜品id */
    @Excel(name = "菜品id")
    private Long dishesId;

    /** 优惠卷发行数量 */
    @Excel(name = "优惠卷发行数量")
    private Long couponCount;

    /** 优惠卷领取数量 */
    @Excel(name = "优惠卷领取数量")
    private Long couponReceiveCount;

    /** 优惠卷使用开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠卷使用开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date couponStartTime;

    /** 优惠卷截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠卷截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date couponEndTime;

    /** {0:全场通用 1:指定菜品3、全部菜品可用优惠卷4、部分菜品可用优惠卷} */
    @Excel(name = "{0:全场通用 1:指定菜品3、全部菜品可用优惠卷 4、部分菜品可用优惠卷}")
    private Long couponTypeId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCouponName(String couponName) 
    {
        this.couponName = couponName;
    }

    public String getCouponName() 
    {
        return couponName;
    }
    public void setCouponNum(Long couponNum) 
    {
        this.couponNum = couponNum;
    }

    public Long getCouponNum() 
    {
        return couponNum;
    }
    public void setCouponAmount(BigDecimal couponAmount) 
    {
        this.couponAmount = couponAmount;
    }

    public BigDecimal getCouponAmount() 
    {
        return couponAmount;
    }
    public void setCouponLimit(Long couponLimit) 
    {
        this.couponLimit = couponLimit;
    }

    public Long getCouponLimit() 
    {
        return couponLimit;
    }
    public void setDishesId(Long dishesId) 
    {
        this.dishesId = dishesId;
    }

    public Long getDishesId() 
    {
        return dishesId;
    }
    public void setCouponCount(Long couponCount) 
    {
        this.couponCount = couponCount;
    }

    public Long getCouponCount() 
    {
        return couponCount;
    }
    public void setCouponReceiveCount(Long couponReceiveCount) 
    {
        this.couponReceiveCount = couponReceiveCount;
    }

    public Long getCouponReceiveCount() 
    {
        return couponReceiveCount;
    }
    public void setCouponStartTime(Date couponStartTime) 
    {
        this.couponStartTime = couponStartTime;
    }

    public Date getCouponStartTime() 
    {
        return couponStartTime;
    }
    public void setCouponEndTime(Date couponEndTime) 
    {
        this.couponEndTime = couponEndTime;
    }

    public Date getCouponEndTime() 
    {
        return couponEndTime;
    }
    public void setCouponTypeId(Long couponTypeId) 
    {
        this.couponTypeId = couponTypeId;
    }

    public Long getCouponTypeId() 
    {
        return couponTypeId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("couponName", getCouponName())
            .append("couponNum", getCouponNum())
            .append("couponAmount", getCouponAmount())
            .append("couponLimit", getCouponLimit())
            .append("dishesId", getDishesId())
            .append("couponCount", getCouponCount())
            .append("couponReceiveCount", getCouponReceiveCount())
            .append("couponStartTime", getCouponStartTime())
            .append("couponEndTime", getCouponEndTime())
            .append("couponTypeId", getCouponTypeId())
            .toString();
    }
}
